package com.dragons.dragonsvf.entities;

import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.sql.Timestamp;

/**
 * @author dragons
 * @version 1.0.0
 * @description: 用户信息 DTO 数据类
 * @date 2025/2/6 14:52
 */
public class UserInfoDTO {

    private String id; // 唯一的32位的
    private String username; // 用户名
    private String across_num; // 密码
    private String encrypt_pwd; // 加密后的密码
    private String encryption_algorithm; // 加密算法
    private String email; // 电子邮件
    private String tel_num; // 电话号码
    private String wechat_abt; // 微信相关信息
    private String avatar_url; // 头像minio链接
    private String role_num; // 角色编号
    private String freeze_ornnt; // 是否冻结 0 不冻结 1 冻结
    private Timestamp create_tm; // 创建时间 timestamp格式
    private Timestamp update_tm; // 最新修改时间timestamp格式
    private String avatarBase64; // 头像base64编码
    private Integer account_money; // 账户余额
    private Double b_account; // 账户余额精确


// 或者通过 Java 关键字或静态声明实现自动忽略：声明为 static 或 transient
    //优点： 全局唯一性，避免数据冗余	缺点：不符合实例字段设计原则
    //private static String avatarBase64;
    //优点：无需依赖注解，原生支持	缺点：可能影响序列化逻辑
    //private transient String avatarBase64;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAcross_num() {
        return across_num;
    }

    public void setAcross_num(String across_num) {
        this.across_num = across_num;
    }

    public String getEncrypt_pwd() {
        return encrypt_pwd;
    }

    public void setEncrypt_pwd(String encrypt_pwd) {
        this.encrypt_pwd = encrypt_pwd;
    }

    public String getEncryption_algorithm() {
        return encryption_algorithm;
    }

    public void setEncryption_algorithm(String encryption_algorithm) {
        this.encryption_algorithm = encryption_algorithm;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTel_num() {
        return tel_num;
    }

    public void setTel_num(String tel_num) {
        this.tel_num = tel_num;
    }

    public String getWechat_abt() {
        return wechat_abt;
    }

    public void setWechat_abt(String wechat_abt) {
        this.wechat_abt = wechat_abt;
    }

    public String getAvatar_url() {
        return avatar_url;
    }

    public void setAvatar_url(String avatar_url) {
        this.avatar_url = avatar_url;
    }

    public String getRole_num() {
        return role_num;
    }

    public void setRole_num(String role_num) {
        this.role_num = role_num;
    }

    public String getFreeze_ornnt() {
        return freeze_ornnt;
    }

    public void setFreeze_ornnt(String freeze_ornnt) {
        this.freeze_ornnt = freeze_ornnt;
    }

    public Timestamp getCreate_tm() {
        return create_tm;
    }

    public void setCreate_tm(Timestamp create_tm) {
        this.create_tm = create_tm;
    }

    public Timestamp getUpdate_tm() {
        return update_tm;
    }

    public void setUpdate_tm(Timestamp update_tm) {
        this.update_tm = update_tm;
    }

    public String getAvatarBase64() {
        return avatarBase64;
    }

    public void setAvatarBase64(String avatarBase64) {
        this.avatarBase64 = avatarBase64;
    }

    public Integer getAccount_money() {
        return account_money;
    }

    public void setAccount_money(Integer account_money) {
        this.account_money = account_money;
    }

    public Double getB_account() {
        return b_account;
    }

    public void setB_account(Double b_account) {
        this.b_account = b_account;
    }
}
